<?php

class Auditoria extends CI_Model{
    var $id;
    var $t_entidad_id;
    var $t_personas_id;
    var $t_estado_auditoria_id;
    var $fecha_programada;
    var $fecha_realizada;
    var $personal_auditado;
    var $observaciones_grales;
    var $t_tipo_auditoria_id;

    function __construct()
    {
        parent::__construct();
    }
    
    function nuevo()
    {
        $this->t_entidad_id = $_POST['t_entidad_id'];        
        $this->t_personas_id = $_POST['t_personas_id'];
        $this->t_estado_auditoria_id = $_POST['t_estado_auditoria_id'];
        $this->fecha_programada = $_POST['fecha_programada'];
        $this->fecha_realizada = $_POST['fecha_realizada'];
        $this->personal_auditado = $_POST['personal_auditado']; 
        $this->observaciones_grales = $_POST['observaciones_grales'];
        $this->t_tipo_auditoria_id = $_POST['t_tipo_auditoria_id'];
        $this->db->trans_start();
        $this->db->insert('t_auditoria', $this);  
        $this->db->trans_complete();
        if($this->db->trans_status() == FALSE)
        {
            show_error('Error en la insercion. CODIGO: ' . $this->db->_error_message());
        }else{
            header('Location: ' . base_url() . 'cauditoria/consultar'); 
        }
    }
    
    function listarTodos($id)
    {
        $this->db->select('t_auditoria.id, t_entidad.nombre as entidad,t_auditoria.t_tipo_auditoria_id,t_auditoria.t_estado_auditoria_id,t_personas_id,t_entidad_id, t_personas.apellido, t_personas.nombre as personas, t_estado_auditoria.nombre as estado, fecha_programada, fecha_realizada, personal_auditado, observaciones_grales');
        $this->db->from('t_auditoria');
        $this->db->join('t_entidad', 't_auditoria.t_entidad_id = t_entidad.id');
        $this->db->join('t_personas', 't_auditoria.t_personas_id = t_personas.id');
        $this->db->join('t_estado_auditoria', 't_auditoria.t_estado_auditoria_id = t_estado_auditoria.id');
        $this->db->join('t_tipo_auditoria', 't_auditoria.t_tipo_auditoria_id = t_tipo_auditoria.id');
        $this->db->order_by("t_auditoria.id",'ASC');
        if ($id!=0){
            $this->db->where('t_auditoria.id', $id);
            $this->db->where('t_auditoria.eliminado', 0);
        }else{
            $this->db->where('t_auditoria.eliminado', 0);
                   }   
        $query = $this->db->get();
        return $query->result();
    }
    
    
    function buscarAuditorias($mostrar,$todos,$entidad="",$auditor="",$estado="",$desde="",$hasta="", $limite,$principio)
    { 
        $this->db->select('t_auditoria.id, t_entidad.nombre as entidad,t_auditoria.t_tipo_auditoria_id,t_auditoria.t_estado_auditoria_id,t_personas_id,t_entidad_id, t_personas.apellido, t_personas.nombre as personas, t_estado_auditoria.nombre as estado, fecha_programada, fecha_realizada, personal_auditado, observaciones_grales');
        $this->db->from('t_auditoria');
        $this->db->join('t_entidad', 't_auditoria.t_entidad_id = t_entidad.id');
        $this->db->join('t_personas', 't_auditoria.t_personas_id = t_personas.id');
        $this->db->join('t_estado_auditoria', 't_auditoria.t_estado_auditoria_id = t_estado_auditoria.id');
        $this->db->join('t_tipo_auditoria', 't_auditoria.t_tipo_auditoria_id = t_tipo_auditoria.id');
        $this->db->order_by("t_auditoria.id",'ASC');
           if($todos == 1)
           {
               $this->db->where('t_auditoria.eliminado', 0);
           }else
           {
               $this->db->where('t_auditoria.eliminado', 0);
               if($entidad!=""){
                   $this->db->like('t_entidad.nombre', rtrim($entidad),$limite,$principio);
                }
               if($auditor!=""){
                   $this->db->like('t_estado_auditoria.nombre', rtrim($estado),$limite,$principio);
                }
                if($estado!=""){
                   $this->db->like('t_personas.apellido', rtrim($auditor),$limite,$principio);
                }
                if($desde!="" and $hasta!=""){
                    $this->db->where('t_auditoria.fecha_programada >=',$desde,$limite,$principio);
                    $this->db->where('t_auditoria.fecha_programada <=',$hasta,$limite,$principio);
                }
               
           }    
        $auditoria = $this->db->get();
        return $auditoria->result();
        
    }
    
    
     function getAuditoria($id){
        $auditoria = $this->db->get_where('t_auditoria', array('id'=> $id));
        return $auditoria->first_row();
                
    }
    
    function modificar($id){
       // if($id_tipo == $_POST['id']){
            
            $datos = array(
                
                't_entidad_id'=> $_POST['t_entidad_id'],        
                't_personas_id'=> $_POST['t_personas_id'],
                't_estado_auditoria_id'=> $_POST['t_estado_auditoria_id'],
                'fecha_programada'=> $_POST['fecha_programada'],
                'fecha_realizada'=> $_POST['fecha_realizada'],
                'personal_auditado'=> $_POST['personal_auditado'],
                'observaciones_grales'=> $_POST['observaciones_grales'],
                't_tipo_auditoria_id'=> $_POST['t_tipo_auditoria_id'],
            );
            
            $this->db->trans_start();
            $this->db->where('id',$id);
            $this->db->update('t_auditoria',$datos);
            $this->db->trans_complete();

            if($this->db->trans_status() == FALSE)
            {
                show_error('Error en la insercion. CODIGO: ' . $this->db->_error_message());
            }else{
                header('Location: ' . base_url() . 'cauditoria/consultar'); 
            }      
        
    }
    
    function eliminar($id)
    {
        $this->db->trans_start();
        $this->db->where('id',$id);
        $datos = array('eliminado'=>1);
        $this->db->update('t_auditoria',$datos);
        $this->db->trans_complete();
        if($this->db->trans_status() == FALSE)
        {
            show_error('Error en la insercion. CODIGO: ' . $this->db->_error_message());
        }else{
            header('Location: ' . base_url() . 'cauditoria/consultar'); 
        }
    }
    
      
}
